]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
dnd: Don't leak a signal connection
authorZacharie DUBRULLE <dubrullezacharie@gmail.com>
Thu, 18 May 2023 11:40:32 +0000 (11:40 +0000)
committerFlorian Müllner <fmuellner@gnome.org>
Fri, 19 May 2023 18:33:55 +0000 (20:33 +0200)
The handler is currently leaked when a drag monitor stops a
motion event.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2770>

js/ui/dnd.js

index c9bce01f54259cb330e522bbb0c86571a97fdd41..53b4fde6c04709fe07c000b6ee3a24749e70dd3b 100644 (file)
@@ -590,6 +590,7 @@ var _Draggable = class _Draggable extends Signals.EventEmitter {
                 let result = motionFunc(dragEvent);
                 if (result != DragMotionResult.CONTINUE) {
                     global.display.set_cursor(DRAG_CURSOR_MAP[result]);
+                    dragEvent.targetActor.disconnect(targetActorDestroyHandlerId);
                     return GLib.SOURCE_REMOVE;
                 }
             }